# 1 主进程和子进程之间不共享全局变量; 各自操作各自的全局变量
# 2 创建子进程时, copy主进程的资源;
# 3 只不过主进程和子进程全局变量的名字相同而已

# 实例步骤
# 1 主进程创建全局变量 my_list
# 2 创建子进程write_data, 子进程read_data
# 3 测试子进程, 主进程各自有自己的内存空间

import time
import multiprocessing


# 全局变量
my_list = [1]
# print('111')


# 写数据
def write_data():
    for i in range(3):
        my_list.append(i)
    print(f'写数据{my_list}')


# 读数据
def  read_data():
    time.sleep(1)
    print(f"读数据{my_list}")
    pass


if __name__ == '__main__':

    # print('222222')
    p1 = multiprocessing.Process(target=write_data)
    p2 = multiprocessing.Process(target=read_data)
    print('p1-->', p1)
    print('p2-->', p2)

    t1 = time.time()

    p1.start()
    p2.start()

    p1.join()
    p2.join()

    t2 = time.time()
    print(f'用时{t2-t1}')

    print(f'主进程读数据{my_list}')
    pass